Abstrakti kone

Abstrakti kone, myös abstrakti tietokone, on teoreettinen malli tietokoneesta, sen laitteistosta tai ohjelmistosta, jota sovelletaan automaattien teoriassa. Laskentaprosessin abstrahointia käytetään sekä tietojenkäsittelytieteessä että tietokoneiden suunnitteluprosesseissa. Se edellyttää usein diskreettiä ajan käsittelyä eli simulointia.

Laskennan teoriassa abstrakteja koneita käytetään usein ajatuksellisina kokeina arvioimaan laskettavuutta tai analysoimaan algortimien kompleksisuutta (Kompleksisuusteoria). Tyypillinen abstrakti kone sisältää määritelmän tulotiedoille ja lähtötiedoille sekä joukon sallittavia operaatioita, joita käyttäen tulotiedot muuttuvat lähtötiedoiksi. Tunnetuin esimerkki siitä on Turingin kone.

Monimutkaisemmista lähtökohdista käsin on mahdollista luoda abstrakteja koneita, joilla on täydellinen käskysarja, joukko rekistereitä sekä muisti. Eräs suosittu abstrakti kone, joka muistuttaa moderneja tietokoneita on abstrakti RAM kone, joka tarjoaa suoran pääsyn indeksoituihin muistipaikkoihin. Myös sellaisia abstrakteja koneita, joilla on valmiuksia käyttää välimuisteja (cache) sekä ulkoisia muisteja, käytetään enenevissä määrin.

Abstrakti kone voi myös viitata mikroprosessoriin, jota ollaan suunnittelemassa tai jota muuten ei vielä ole laitteistona tarjolla. Abstraktia konetta, joka toteutetaan ohjelmistosimulaationa, tai jossa käytetään tulkkia, kutsutaan myös virtuaalikoneeksi.

Abstraktin koneen käytön ansiosta on mahdollista laskea tarkkaan kunkin operaation vaatimat resurssit (aika, muisti jne) tarvitsematta konstruoida vastaavaa järjestelmää sitä tekemään.


Developed by StudentB